package com.hmall.item.constants;

/**
 * RabbitMQ 相关常量定义
 * 这里新增/更新共用一个消息队列，为什么这样设计呢?
 * 因为我们在使用 ES 时，使用的是全量更新，当插入的文档不存在则执行新增操作，
 * 当插入的文档存在时，ES会将旧文档删除，然后添加新文档，并将版本号加1，故使用同一个队列存储
 */
public class MqConstants {

    /**
     * 交换机
     */
    public static final String ITEM_EXCHANGE = "item.topic";

    /**
     * 监听新增和修改的队列
     */
    public static final String ITEM_INSERT_QUEUE = "item.insert.queue";

    /**
     * 监听删除的队列
     */
    public static final String ITEM_DELETE_QUEUE = "item.delete.queue";

    /**
     * 新增或修改的RoutingKey
     */
    public static final String ITEM_INSERT_KEY = "item.insert";

    /**
     * 删除的RoutingKey
     */
    public static final String ITEM_DELETE_KEY = "item.delete";
}
